This invention relates generally to means for transfer of information between computer systems or between computer systems and other less sophisticated systems and devices.
The rapid proliferation of low cost computing systems, particularly microprocessor systems and peripherals, has given rise to a number of problems rarely, if ever, encountered before in the industry. One of the most significant of these problems involves the communication of information between these systems, between such systems and peripheral devices, and between such systems and larger, more sophisticated, computer systems.
Often, it is desirable for the software utilized by a microprocessor system to be produced upon a larger host computer and then transferred to the microprocessor for execution. The manner in which such a transfer is performed has involved the coupling of an Input/Output (I/O) port of the larger computer system to such devices as a programmer for Read-Only Memories (ROM's) or some electronic circuitry to contain the program for operational access by the microprocessor.
Such methods involve the use of a number of I/O ports on the main computer, with the associated requirement for complex software support which permits a user on one I/O port to control the use of other I/O ports. Also, the number of available I/O ports is generally limited, and the requirement for additional ports to support development of several microcomputer systems is an expensive one. This requirement becomes even more expensive and unwieldy if the user is operating remotely over phone lines, due to the additional cost of using several lines and coupling to them.
Similarly, the communication of a small computer system with other small computer systems, or with shared or private peripheral devices has generally required the utilization of a number of I/O ports on the small system and the addition of significant hardware and software to provide the necessary interfaces and resolve conflicts at shared devices.
Various types of switching means to perform communication between large-scale systems have been developed. Such means generally embody either circuit-switching or packet-switching techniques. A circuit switching system such as ESS [1] is ideal for continuous communication, providing a direct connection between a number of systems. Such means is also exemplified by multiprocessor computer systems as IBM's ASP [2] which utilize peripheral processors for I/O communication. However, the use of such means provides little error checking capability and can lead to poor utilization in the case of short communications.
On the other hand, packet-switching means such as those utilized in large computer networks, of which the ARPA network [3, 4] is the most outstanding example, make efficient use of lines for short communication and provide error checking capabilities. In addition, a number of minicomputer systems have been developed specifically for this purpose [5, 6, 7]. Such means are inefficient in the case of long, direct communication, due to the overhead associated with each packet.
The various means of large-scale computer communication, of which the above two means represent two ends of a spectrum, have been to date costly to implement, due to the high relative cost of the control processor, prohibiting their use in such applications as those of microprocessor development systems.
1. "No. 1 Electronic Switching System," The Bell System Technical Journal, Vol. XLIII, No. 5, September 1964.
2. Rustin, R. (Ed.), Computer Networks Proceedings Courant Computer Science Symposium 3, December 1970, Prentice-Hall, Englewood Cliffs, NJ, 1970.
3. Heart, F., et al., "The Interface Message Processor for the ARPA Computer Network," AFIPS Conference Proceedings, Vol. 36, 1970.
4. Ornstein, S., et al., "The Terminal IMP for the ARPA Computer Network," AFIPS Conference Proceedings, Vol. 40, 1972.
5. Mann, W., et al., "A Network-Oriented Multiprocessor Front-End Handling Many Hosts and Hundreds of Terminals," AFIPS Conference Proceedings, 1976.
6. Brody, G., "Data Concentrators Using a Programmable Processor," Telecommunications, Vol. 5, No. 9, September 1971.
7. Spagnola, A., "Small Computers and Data Communications," Telecommunications, Vol. 5, No. 5, May 1971.